﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BUS;
using System.Data;
using System.Web.Services;
namespace AirPlane
{
    public partial class QuanLyChuyenBay : System.Web.UI.Page
    {
        protected ChangBayBUS cb = new ChangBayBUS();
        protected MayBayBUS mb = new MayBayBUS();
        protected DataTable dt = new DataTable();
       

        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["islogin"] == null || (bool)Session["islogin"] == false || Session["type"].ToString() != "2")
            {

                Response.Redirect("TrangChu.aspx");
            }
            else
            {
               
                if (!IsPostBack)
                {
                    ddlChangBay.DataSource = cb.layThongTinSanBayDiDen_ChangBay();

                    ddlChangBay.DataTextField = "tenChangBay";
                    ddlChangBay.DataValueField = "ID_changBay";
                    ddlChangBay.DataBind();
                    ddlChangBay_update.DataSource = cb.layThongTinSanBayDiDen_ChangBay();
                    ddlChangBay_update.DataTextField = "tenChangBay";
                    ddlChangBay_update.DataValueField = "ID_changBay";
                    ddlChangBay_update.DataBind();

                    txt_ngayDi_ChuyenBay.Text = DateTime.Now.ToShortDateString();
                    txt_ngayDen_ChuyenBay.Text = DateTime.Now.ToShortDateString();
                    txtNgayDi_chuyenBay_capNhat.Text = DateTime.Now.ToShortDateString();
                    ddlSoHieuMB.DataSource = mb.layThongTinSoHieuMayBay();
                    ddlSoHieuMB.DataTextField = "soHieuMayBay";
                    ddlSoHieuMB.DataValueField = "soHieuMayBay";
                    ddlSoHieuMB.DataBind();


                }
            }
        }
        [WebMethod]
        public static string loadMayBay(string ngayDi, string maChangBay)
        {
            string s = "";
            DataTable dt = new DataTable();
            MayBayBUS sb = new MayBayBUS();
            DateTime d_ngayDi = DateTime.Parse(ngayDi).AddDays(-1);
            string s_ngayDi = string.Format("{0:yyyy-MM-dd}", d_ngayDi);
            dt = sb.layThongTinSoHieuMayBay(s_ngayDi, int.Parse(maChangBay));
            foreach (DataRow dr in dt.Rows)
            {
                s += "<option value='" + dr["soHieuMayBay"].ToString() + "'>" + dr["soHieuMayBay"].ToString() + "</option>";
            }
          
            return s;
        }

        protected void btnThemMoi_Click(object sender, EventArgs e)
        {
            lbThongBao.Text = "";
            string changBay = ddlChangBay.SelectedValue.ToString();
            string soHieuMayBay = ddlSoHieuMB.SelectedValue.ToString();
            string ngayDi = txt_ngayDi_ChuyenBay.Text;
            string ngayDen = txt_ngayDen_ChuyenBay.Text;
            string gioDi = ddlGioDi.SelectedValue.ToString() + ":" + ddlPhutDi.SelectedValue.ToString();
            string gioDen = ddlGioDen.SelectedValue.ToString() + ":" + ddlPhutDen.SelectedValue.ToString();
            string giaThuongGia = txtPhoThong.Text;
            string giaPhoThong = txtPhoThong.Text;
            string giaTietKiem = txtTietKiem.Text;
            string chiPhiDuKien = txtChiPhiDuKien.Text;
            bool flag = true;
            if (soHieuMayBay == "" && flag)
            {
                lbThongBao.Text = "<span id = 'thong-bao-ket-Qua-Tim-Kiem'>Không Có Máy Bay Nào Có Thể Đáp Ứng!</span>";
                flag = false;
            }
            else
                if (giaThuongGia == "" && flag)
                {
                    lbThongBao.Text = "<span id = 'thong-bao-ket-Qua-Tim-Kiem'>Giá Thương Gia Không Được Để Trống!</span>";
                    flag = false;
                }
                else
                    if (giaPhoThong == "" && flag)
                    {
                        lbThongBao.Text = "<span id = 'thong-bao-ket-Qua-Tim-Kiem'>Giá Phổ Thông Không Được Để Trống!</span>";
                        flag = false;
                    }
                    else
                        if (giaTietKiem == "" && flag)
                        {
                            lbThongBao.Text = lbThongBao.Text = "<span id = 'thong-bao-ket-Qua-Tim-Kiem'>Giá Tiết Kiệm Không Được Để Trống!</span>";
                            flag = false;
                        }
                        else
                        {
                            if (giaThuongGia != "" && giaPhoThong != "" && giaTietKiem != "" && flag)
                            {
                                for (int i = 0; i < giaThuongGia.Length; i++)
                                {
                                    if (giaThuongGia[i] < 46 || giaThuongGia[i] > 57 || giaThuongGia[i] == 47)
                                    {

                                        lbThongBao.Text = "<span id = 'thong-bao-ket-Qua-Tim-Kiem'>Giá Hạng Thương Gia Phải Là Một Số!</span>";
                                        flag = false;
                                        break;
                                    }
                                }
                                for (int i = 0; i < giaPhoThong.Length; i++)
                                {
                                    if (giaPhoThong[i] < 46 || giaPhoThong[i] > 57 || giaPhoThong[i] == 47)
                                    {

                                        lbThongBao.Text = "<span id = 'thong-bao-ket-Qua-Tim-Kiem'>Giá Hạng Phổ Thông Phải Là Một Số !</span>";
                                        flag = false;
                                        break;
                                    }
                                }
                                for (int i = 0; i < giaTietKiem.Length; i++)
                                {
                                    if (giaTietKiem[i] < 46 || giaTietKiem[i] > 57 || giaTietKiem[i] == 47)
                                    {

                                        lbThongBao.Text = "<span id = 'thong-bao-ket-Qua-Tim-Kiem'>Giá Hạng Tiết Kiệm Phải Là Một Số!</span>";
                                        flag = false;
                                        break;
                                    }
                                }
                                
                            }
                            if (chiPhiDuKien != "" && flag)
                            {
                                for (int i = 0; i < chiPhiDuKien.Length; i++)
                                {
                                    if (chiPhiDuKien[i] < 46 || chiPhiDuKien[i] > 57 || chiPhiDuKien[i] == 47)
                                    {

                                        lbThongBao.Text = "<span id = 'thong-bao-ket-Qua-Tim-Kiem'>Chi Phi Phải Là Một Số!</span>";
                                        flag = false;
                                        break;
                                    }
                                }
                            }

                        }
            DateTime d_ngayDi = DateTime.Parse(ngayDi);
            DateTime d_ngayDen = DateTime.Parse(ngayDen);
            TimeSpan t_gioDi = TimeSpan.Parse(gioDi);
            TimeSpan t_gioDen = TimeSpan.Parse(gioDen);
            float tongGio = 0;

            if (d_ngayDi < DateTime.Now || d_ngayDen < DateTime.Now && flag )
            {

                lbThongBao.Text = "<span id = 'thong-bao-ket-Qua-Tim-Kiem'>Ngày Đi Hoặc Ngày Đến Phải Lớn Hơn Ngày Hiện Tại!</span>";
                flag = false;
            }
            if (d_ngayDi > d_ngayDen && flag)
            {
               

                    lbThongBao.Text = "<span id = 'thong-bao-ket-Qua-Tim-Kiem'>Ngày Đi Phải Nhỏ Hơn Hoặc Bằng Ngày Đến!</span>";
                    flag = false;
                
            }
            else
                if (d_ngayDi == d_ngayDen && flag)
                {
                    if (t_gioDi >= t_gioDen)
                    {

                        lbThongBao.Text = "<span id = 'thong-bao-ket-Qua-Tim-Kiem'>Giờ Đi Phải Nhỏ Hơn Giờ Đến!</span>";
                        flag = false;
                    }
                    else
                    {
                        tongGio = (float)(t_gioDen - t_gioDi).TotalHours;
                    }
                }
                else
                {
                    DateTime d = new DateTime(d_ngayDi.Year,d_ngayDi.Month,d_ngayDi.Day,t_gioDi.Hours,t_gioDi.Minutes,t_gioDi.Seconds) ;
                    DateTime d1 = new DateTime(d_ngayDen.Year,d_ngayDen.Month,d_ngayDen.Day,t_gioDen.Hours,t_gioDen.Minutes,t_gioDen.Seconds);
                    tongGio = (float)(d - d1).TotalHours;
                }
           
            
            if (flag == true)
            {
                ChuyenBayBUS bus = new ChuyenBayBUS();
                bus.themChuyenBayMoi(changBay,soHieuMayBay,ngayDi,ngayDen,t_gioDi.ToString(),t_gioDen.ToString(),tongGio,float.Parse(giaThuongGia),float.Parse(giaPhoThong),float.Parse(giaTietKiem),float.Parse(chiPhiDuKien));
                lbThongBao.Text = "<span id = 'thong-bao-ket-Qua-Tim-Kiem'>Chuyến Bay Mới Đã Được Thêm Thành Công!</span>";
                
            }
           
        }

        protected void gwChuyenBayUpdate_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            gwChuyenBayUpdate.PageIndex = e.NewPageIndex;
            loadData(int.Parse(ddlChangBay_update.SelectedValue.ToString()), txtNgayDi_chuyenBay_capNhat.Text);

        }

        protected void gwChuyenBayUpdate_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
        {
            gwChuyenBayUpdate.EditIndex = -1;
            loadData(int.Parse(ddlChangBay_update.SelectedValue.ToString()), txtNgayDi_chuyenBay_capNhat.Text);
        }

        protected void gwChuyenBayUpdate_RowEditing(object sender, GridViewEditEventArgs e)
        {
            gwChuyenBayUpdate.EditIndex = e.NewEditIndex;
            loadData(int.Parse(ddlChangBay_update.SelectedValue.ToString()), txtNgayDi_chuyenBay_capNhat.Text);
        }

        protected void gwChuyenBayUpdate_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            string maChuyenBay = gwChuyenBayUpdate.DataKeys[e.RowIndex].Value.ToString();
            string nhieuLieuDuKien = ((TextBox)gwChuyenBayUpdate.Rows[e.RowIndex].Cells[7].FindControl("txtnhieuLieu")).Text;
            string chiPhiPhucVuDuKien = ((TextBox)gwChuyenBayUpdate.Rows[e.RowIndex].Cells[8].FindControl("txtchiPhi")).Text;
            bool flag = true;
            if (nhieuLieuDuKien.Length > 0 && flag)
            {
                for (int i = 0; i < nhieuLieuDuKien.Length; i++)
                {
                    if (nhieuLieuDuKien[i] < 46 || nhieuLieuDuKien[i] > 57 || nhieuLieuDuKien[i] == 47)
                    {
                        flag = false;
                        lbThongBaoCapNhatChuyenBay.Text = " <span id = 'thong-bao-ket-Qua-Tim-Kiem'>Nhiên liệu dự kiến phải là một số!.</span>";
                        break;
                    }

                }
            }
            if (chiPhiPhucVuDuKien.Length > 0 && flag)
            {
                for (int i = 0; i < chiPhiPhucVuDuKien.Length; i++)
                {
                    if (chiPhiPhucVuDuKien[i] < 46 || chiPhiPhucVuDuKien[i] > 57 || chiPhiPhucVuDuKien[i] == 47)
                    {
                        flag = false;
                        lbThongBaoCapNhatChuyenBay.Text = " <span id = 'thong-bao-ket-Qua-Tim-Kiem'>Chi phí dịch vụ phải là một số!.</span>";
                        break;
                    }

                }
            }
            if (flag == true)
            {
                ChuyenBayBUS bus = new ChuyenBayBUS();
                bus.capNhatChiPhiChuyenBay(maChuyenBay, float.Parse(nhieuLieuDuKien), float.Parse(chiPhiPhucVuDuKien));
                gwChuyenBayUpdate.EditIndex = -1;
                loadData(int.Parse(ddlChangBay_update.SelectedValue.ToString()), txtNgayDi_chuyenBay_capNhat.Text);
            }
          

        }

        public void loadData(int maChangBay, string ngayDi)
        {
            DataTable dt = new DataTable();
            ChuyenBayBUS bus = new ChuyenBayBUS();
            dt = bus.layThongTinChuyenBayChangBay(maChangBay, ngayDi);
           
            if (dt.Rows.Count > 0)
            {
                gwChuyenBayUpdate.DataSource = dt;
                gwChuyenBayUpdate.DataBind();
            }
            else
                lbThongBaoCapNhatChuyenBay.Text = "<span id = 'thong-bao-ket-Qua-Tim-Kiem'>Không tìm thấy kết quả nào!</span>";
        }

        protected void btn_timKiem_capNhat_Click(object sender, EventArgs e)
        {
            loadData(int.Parse(ddlChangBay_update.SelectedValue.ToString()), txtNgayDi_chuyenBay_capNhat.Text);
        }
    }
}